home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 June / PCWorld_2007-06_cd.bin / v cisle / pcwspi / pcwSPIntegrator.exe / pcwSPIntegrator / pcwSPIntegrator.HTA < prev   
Text File  |  2006-12-08  |  14KB  |  422 lines

  1. <HTML>
  2.  <HEAD>
  3.   <TITLE>Skript PC WORLDu: Integrace Service Packu do instalaΦnφho CD Windows v1.1</TITLE>
  4.   <HTA:APPLICATION ID="hta3" 
  5.     APPLICATIONNAME="Slipstreamer" 
  6.     BORDER = "normal"
  7.    CAPTION = "yes"
  8.    SHOWINTASKBAR = "yes"
  9.    SINGLEINSTANCE = "yes"
  10.    SYSMENU = "yes"
  11.    WINDOWSTATE = "normal"
  12.    SCROLL = "no"
  13.    SCROLLFLAT = "no"
  14.    VERSION = "1.0"
  15.    INNERBORDER = "no"
  16.    SELECTION = "no"
  17.    MAXIMIZEBUTTON = "no"
  18.    MINIMIZEBUTTON = "yes"
  19.    NAVIGABLE = "No"
  20.    CONTEXTMENU = "no"
  21.    BORDERSTYLE = "normal"/>
  22.    
  23. <STYLE type="text/css">
  24. body             {font-family:Tahoma,Verdana,Arial,Geneva;
  25.     border:none;
  26.     scrollbar-arrow-color: #BBF0FF;
  27.     scrollbar-base-color: #000000;
  28.     scrollbar-dark-shadow-color: #00204A;
  29.     scrollbar-track-color: #00204A;
  30.     scrollbar-face-color: #2969B5;
  31.     scrollbar-shadow-color: #000000;
  32.     scrollbar-highlight-color: #00204A;
  33.     scrollbar-3d-light-color: #00204A;
  34.     font-style:normal;
  35.     font-size:12;
  36.     color:#FFFFFF;
  37.     background-color:#2969B5;
  38.     filter:progid:DXImageTransform.Microsoft.Gradient(
  39.     GradientType=1,
  40.     StartColorStr="#00204A",
  41.     EndColorStr="#00357B");
  42. }
  43. .Label    {
  44.     font-family:Tahoma,Verdana,Arial,Geneva;
  45.     font-style:normal;
  46.     font-size:12;
  47.     color:#FFFFFF;
  48.     background-color:#2969B5;
  49.     filter:progid:DXImageTransform.Microsoft.Gradient(
  50.     GradientType=1,
  51.     StartColorStr="#00204A",
  52.     EndColorStr="#00357B");
  53.     Border:none
  54. }
  55.  
  56. .Textbox    {
  57.     font-family:Tahoma,Verdana,Arial,Geneva;
  58.     font-style:normal;
  59.     font-size:12;
  60.     color:#FFFFFF;
  61.     background-color:#2969B5;
  62.     filter:progid:DXImageTransform.Microsoft.Gradient(
  63.     GradientType=1,
  64.     StartColorStr="#00204A",
  65.     EndColorStr="#00357B");
  66.     border-right: #000000 2pt solid;
  67.     border-top: #000000 2pt solid;
  68.     border-left: #000000 2pt solid;
  69.     border-bottom: #000000 2pt solid;
  70. }
  71.  
  72. .Button    {
  73.     font-family:verdana;
  74.     font-size:12;
  75.     font-weight:bold;
  76.      background-color:#008000;
  77.     color:#FFFFFF;
  78.     border-right: #000000 2pt solid;
  79.     border-top: #000000 2pt solid;
  80.     border-left: #000000 2pt solid;
  81.     border-bottom: #000000 2pt solid;
  82.     filter:Alpha(opacity=100, finishopacity=40, style=3);
  83. }
  84.  
  85. <!--
  86.  a:link { font-family:verdana; font-size:12; color:#FF8000; }
  87.  a:visited { font-family:verdana; font-size:12; color:#FFFFFF; }
  88.  a:hover { font-family:verdana; font-size:12; color:#FF8000; font-weight:bold; }
  89. -->
  90. .Link    {
  91.     font-family:verdana;
  92.     font-size:12;
  93.     color:#FF8000;
  94.  
  95. }
  96. </STYLE>
  97.    <SCRIPT LANGUAGE=vbscript>
  98.  
  99. '|--------------------------------------------------------------------------------------------------|'
  100.  
  101. Set myshell = CreateObject("Wscript.Shell")
  102. Set myfiles = CreateObject("Scripting.FileSystemObject")
  103. Set AppShell =  CreateObject("Shell.Application")
  104. Set c = MyShell.Environment("PROCESS")
  105.          temp = c("temp")
  106.          windir = c("Systemroot")
  107.  
  108. '|--------------------------------------------------------------------------------------------------|'
  109.  
  110. Sub SubInitFenster
  111. on error resume next
  112.  
  113. Winvers = myshell.Regread("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProductName")
  114.     If Winvers = "" Then
  115.         MsgBox "Skript funguje pouze ve Windows XP a Windows Serveru 2003"
  116.         call Subquit
  117.     elseif Instr(1, lcase(Winvers), "windows 2000") <> 0 then
  118.         MsgBox "Skript funguje pouze ve Windows XP a Windows Serveru 2003"
  119.         call Subquit
  120.   end if
  121.  
  122. '
  123. Zielverz = document.all.item("Target").value
  124. SP2verz = document.all.item("SP2").value
  125.  
  126. Set HTAFolder = Myfiles.GetFolder(".")
  127. if not (myfiles.FileExists(windir & "\System32\Cygwin1.dll")) then
  128.   myfiles.CopyFile HTAFolder.Path & "\Cygwin1.dll", windir & "\System32\"
  129. end if
  130. if not (myfiles.FileExists(windir & "\System32\mkisofs.exe")) then
  131.   myfiles.CopyFile HTAFolder.Path & "\mkisofs.exe", windir & "\System32\"
  132. end if
  133.  
  134. '
  135. Dim FD()
  136. m=-1
  137. For n = 65 to 90
  138.     if (myfiles.DriveExists(Chr(n))) then
  139.         Set D = myfiles.GetDrive(myfiles.GetDriveName(chr(n) & ":\"))
  140.         If D.DriveType = 4 then
  141.             m = m+1
  142.             ReDim Preserve FD(m)
  143.             FD(m) = Chr(n)
  144.         end if
  145.     End If
  146. Next
  147.  
  148. For x=LBound(FD) to UBound(FD)
  149.     Art = "Mechanika CD/DVD"
  150.     if (myfiles.FileExists(FD(x) & ":\WIN51")) and not checkme = 1 Then
  151.      liste = liste & "<DIV class=body ID=ColorSel" & x & " Title=" & Chr(34) & FD(x) & Chr(34) &"><INPUT Type=radio value=ON name=Selmenu Title=" & Chr(34) & FD(x) & chr(34) & "onClick=" & chr(34) & "SubShowRes" & chr(34) & " CHECKED> " & FD(x) & ":\ - " & Art & "</DIV>"
  152.      checkme = 1
  153.     else
  154.      liste = liste & "<DIV class=Body ID=ColorSel" & x & " Title=" & Chr(34) & FD(x) & Chr(34) &"><INPUT Type=radio value=ON name=Selmenu Title=" & Chr(34) & FD(x) & chr(34) & "onClick=" & chr(34) & "SubShowRes" & chr(34) & "> " & FD(x) & ":\ - " & Art & "</DIV>"
  155.     end if
  156. next
  157.     
  158. if Ubound(FD) = 0 then
  159.         text = " mechanik(a) nalezeno(a)"
  160.         Beschreibung = "<span class=body>Po vlo₧enφ instalaΦnφho CD do mechaniky vyberte sprßvnΘ pφsmenko mechaniky</SPAN>"
  161. else
  162.     text = " mechanik(a) nalezeno(a)"
  163.       Beschreibung = "<span class=body>Po vlo₧enφ instalaΦnφho CD do mechaniky vyberte sprßvnΘ pφsmenko mechaniky</SPAN>"
  164. end if
  165.     document.all.tableRegKey.innerHTML = Beschreibung & VBCR & Liste & "<DIV class=body ID=Counter Title=" & Ubound(FD)+1 & "> " & Ubound(FD)+1 & text & "</DIV>"
  166.  
  167. call Actbutton
  168.  
  169. x = Ubound(FD)*20+270
  170. if x > 600 then
  171.     x = 600
  172. end if
  173. window.resizeTo 600, x
  174. call SubShowRes
  175. End Sub
  176.  
  177. '|--------------------------------------------------------------------------------------------------|'
  178.  
  179. Sub ActButton
  180. on error resume next
  181. test = 0
  182. IF (myfiles.FolderExists(document.all.item("Target").value)) then
  183.   if (myfiles.FileExists(document.all.item("SP2").value)) then
  184.     m = 0 
  185.     zahl = document.all.Item("Counter").Title
  186.     do
  187.       If document.all.Selmenu(m).Checked Then
  188.            if (myfiles.FolderExists(document.all.Selmenu(m).Title & ":\i386")) then
  189.              test = 1
  190.            end if
  191.       End If
  192.       m=m+1
  193.     loop until zahl - m = 0
  194.     if Test = 1 then
  195.       document.all.item("button1").Disabled=False
  196.     else
  197.       document.all.item("button1").Disabled=True
  198.     end if
  199.   else
  200.     document.all.item("button1").Disabled=True
  201.   end if
  202. else
  203.   document.all.item("button1").Disabled=True
  204. end if
  205. end Sub
  206.  
  207. '|--------------------------------------------------------------------------------------------------|'
  208. Sub SubShowRes
  209. on error resume next
  210. m = 0 
  211. zahl = document.all.Item("Counter").Title
  212. do
  213. If document.all.Selmenu(m).Checked = true Then
  214.     document.all.Item("ColorSel" & m).style.backgroundColor="green"
  215. Else
  216.     document.all.Item("ColorSel" & m).style.backgroundColor=""
  217. End If
  218. m=m+1
  219. loop until zahl - m = 0
  220. call Actbutton
  221. end Sub
  222. '|--------------------------------------------------------------------------------------------------|'
  223. Sub SubSlip
  224. m = 0 
  225. xx=0
  226. Set HTAFolder = Myfiles.GetFolder(".")
  227.  
  228. zahl = document.all.Item("Counter").Title
  229. do
  230.   If document.all.Selmenu(m).Checked Then
  231.         DriveN = document.all.Selmenu(m).Title
  232.         xx=1
  233.     end if
  234.     m = m+1
  235.  loop until zahl - m = 0
  236.  if xx=0 or not (myfiles.FolderExists(DriveN &":\i386")) then
  237.     Markieren = Msgbox("Po vlo₧enφ instalaΦnφho CD do mechaniky prosφm umφst∞te zatr₧φtko p°ed pφsmenko p°φsluÜnΘ mechaniky", 0, "Nebyla vybrßna ₧ßdnß vhodnß mechanika")
  238.     exit Sub
  239.  end if
  240.  
  241. Zielverz = document.all.item("Target").value
  242. SP2verz = document.all.item("SP2").value
  243.  
  244. if (myfiles.FolderExists(Zielverz &"\CDRoot")) Then
  245.     loesch = Myfiles.Deletefolder(Zielverz &"\CDRoot", True)
  246. End If
  247. if (myfiles.FolderExists(Zielverz &"\Bootimage")) Then
  248.     loesch = Myfiles.Deletefolder(Zielverz &"\Bootimage", True)
  249. End If
  250. if (myfiles.FileExists(Zielverz &"\Winslip.Iso")) Then
  251.     loesch = Myfiles.Deletefile(Zielverz &"\Winslip.Iso", True)
  252. End If
  253. Set Rootverz = MyFiles.CreateFolder(Zielverz &"\CDRoot")
  254. Kopiert = MyShell.Run("cmd /c xcopy " & DriveN & ":\ " & chr(34) & Rootverz & chr(34)  & " /k /r /e /i /s /c /h /f", 1, True)
  255. on error resume next
  256. loesch = Myfiles.Deletefolder(Rootverz & "\i386\svcpack", True)
  257. loesch = Myfiles.Deletefile(Rootverz & "\i386\svcpack.inf", True)
  258. on error goto 0
  259. Set Bootverz = MyFiles.CreateFolder(Zielverz &"\Bootimage")
  260. Set Bootme = myfiles.OpenTextFile(temp & "\bbie.bat", 2, True)
  261. Bootme.Writeline chr(34) & HTAFolder.Path & "\bbie.exe" & chr(34) & " "  & DriveN & ":"
  262. Bootme.Writeline "move image1.bin " & chr(34) & Bootverz & chr(34)
  263. Bootme.Writeline "move " & chr(34) & HTAFolder.Path & "\image1.bin" & chr(34) & " "  & chr(34) & Bootverz & chr(34)
  264. Bootme.Writeline "copy " & chr(34) & Bootverz & "\image1.bin" & chr(34) & " "  & chr(34) & Rootverz & chr(34)
  265. Bootme.Writeline "del " & Rootverz & ":\*.sp?"
  266. Bootme.close
  267. Bootme = MyShell.Run("cmd /c " & chr(34) & temp & "\bbie.bat" & chr(34), 0, True)
  268. myfiles.DeleteFile temp & "\bbie.bat"
  269. Slip = MyShell.Run(chr(34) & SP2verz & chr(34) & " /passive /Integrate:" & chr(34) & Rootverz & chr(34), 1, True)
  270.  
  271. If document.all.Item("checkiso").Checked Then
  272.   Set Isome = myfiles.OpenTextFile(temp & "\ISO.bat", 2, True)
  273.   ISOme.Writeline "cd /d " & chr(34) & Zielverz & chr(34)
  274.   ISOme.Writeline "mkisofs.exe -v -o WINSLIP.ISO -b image1.bin -no-emul-boot -J -l -D -N -relaxed-filenames -V " & chr(34) & "Winslip" & chr(34) & " " & chr(34) & Rootverz & chr(34)
  275.   'ISOme.Writeline "mkisofs.exe -J -iso-level 4 -o WINSLIP.ISO -b image1.bin -no-emul-boot -boot-load-size 4 " & chr(34) & Rootverz & chr(34)
  276.   ISOme.close
  277.   ISO = MyShell.Run("cmd /c " & chr(34) & temp & "\ISO.bat" & chr(34), 1, True)
  278.   myfiles.DeleteFile temp & "\ISO.bat"
  279.   msgbox "Hotovo"
  280. else
  281.   Brenn = Msgbox("Nßvod na vypßlenφ disku v programu Nero" & VBCR & "Chcete-li pomocφ programu Nero vypßlit instalaΦnφ CD Windows, klepn∞te v menu Novß kompilace na tlaΦφtko 'CD-ROM (Bootovacφ)'." & VBCR _
  282. & "Na zßlo₧ce 'Bootovßnφ' vyberte polo₧ku Obraz CD a do polφΦka pod nφm uve∩te nßzev souboru s obrazem disku " & Bootverz & "\image1.bin an" & VBCR _
  283. & "V polφΦku 'Druh emulace' zadejte 'Äßdnß emulace' an" & VBCR _
  284. & "Do polφΦka 'NaΦφst segment sektor∙ (hex!)' zapiÜte °et∞zec '07C0'." & VBCR _
  285. & "Do polφΦka 'PoΦet naΦten²ch sektor∙' zapiÜte Φφslo '4'." & VBCR _
  286. & "Na zßlo₧ce 'ISO' vyberte v poli DΘlka nßzv∙ soubor∙ a slo₧ek polo₧ku 'ISO-Level 1' " & VBCR _
  287. & "V poli 'Formßt' klepn∞te na p°epφnaΦ 'Mode 1' a v poli 'Znakovß sada' vyberte polo₧ku 'ISO 9660'" & VBCR _
  288. & "V poli 'Nedodr₧et tato omezenφ ISO normy' umφst∞te zatr₧φtka p°ed vÜemi polo₧kami." & VBCR _
  289. & "Na zßlo₧ce 'Vypßlit' umφst∞te zatr₧φtko p°ed polo₧ku 'Vypßlit' a 'Uzav°φt CD'" & VBCR _
  290. & "Ze seznamu Zp∙sob zßpisu vyberte polo₧ku 'Stopa najednou'." & VBCR _
  291. & "PotΘ stiskn∞te tlaΦφtko 'NovΘ', vyberte slo₧ku " & Rootverz & ", " & VBCR _
  292. & "p°etßhn∞te vÜechny soubory a slo₧ky do okna programu pro vypalovßnφ, klepn∞te do menu Soubor/Vypßlit CD a v dialogovΘm okn∞, kterΘ se objevφ, stiskn∞te tlaΦφtko 'Vypßlit'" & VBCR & VBCR _
  293. & "Tento nßvod na vypßlenφ rovn∞₧ naleznete v souboru 'Nßvod na vypßlenφ.txt', kter² se nachßzφ v archivu programu XP-SP2-Updater", 0, "Konec integrace")
  294. end if
  295. End Sub
  296. '|--------------------------------------------------------------------------------------------------|'
  297. Sub SubBrowse(inputname)
  298. on error resume next
  299. Set AppFolder = Appshell.BrowseForFolder(0, "",  &H0001, 17)
  300. folder = AppFolder.ParentFolder.ParseName(AppFolder.Title).Path
  301. If err.number > 0 then 
  302.     i=instr(AppFolder, ":")
  303.     folder = mid(AppFolder, i - 1, 1) & ":\"
  304. end if
  305. If folder = "" Then 
  306. Exit Sub
  307. end if
  308. If not (myfiles.FolderExists(folder)) then
  309.     g = MsgBox("Neplatnß slo₧ka." & Chr(10) & "Zadejte vhodnou slo₧ku",16, "PC WORLD: XP-SP2 Updater")
  310. End If
  311. document.all.item(inputname).value = Folder
  312. call Actbutton
  313. end Sub
  314.  
  315. '|--------------------------------------------------------------------------------------------------
  316.  
  317. Function BrowseForFile(Ziel)
  318.     Set objDialog = CreateObject("UserAccounts.CommonDialog")
  319.   objDialog.InitialDir = windir & "\System32"
  320.   objDialog.Filter = "Soubory EXE|*.exe"
  321.   objDialog.Flags = &H80000 + &H4 + &H8
  322.   objDialog.ShowOpen
  323.   document.all.item(Ziel).value = objDialog.FileName
  324.   Oldpath = Myfiles.GetParentFolderName(objDialog.FileName)
  325.   call Actbutton
  326. End Function
  327.  
  328. '|--------------------------------------------------------------------------------------------------|'
  329. Sub SubQuit
  330. on error resume next
  331. Set myshell = Nothing
  332. Set myfiles = Nothing
  333. Window.Close
  334. End Sub
  335. '|--------------------------------------------------------------------------------------------------
  336.  
  337.   Function high(objekt) 
  338.      objekt.style.background ="#00FF00"
  339.      objekt.filters.alpha.finishopacity = 100
  340.      objekt.filters.alpha.opacity = 100
  341.     End Function
  342.  
  343. '|--------------------------------------------------------------------------------------------------
  344.  
  345.   function low(objekt)
  346.      objekt.style.background ="#008000"
  347.      objekt.filters.alpha.opacity = 100
  348.      objekt.filters.alpha.finishopacity = 40
  349.     End Function
  350.  
  351. '|--------------------------------------------------------------------------------------------------
  352.  
  353.  
  354. </SCRIPT>
  355.   </HEAD>
  356.     <BODY onload="SubInitFenster" scroll="yes">
  357.    <DIV ID=tableRegKey></DIV>
  358.    <HR style=" & Chr(34) & "height:5px; color:black" & Chr(34) &"></BR>
  359.    <span class=body>Cesta ke slo₧ce, kam se majφ umφstit aktualizovanΘ instalaΦnφ soubory Windows</BR>
  360.    <INPUT 
  361.     Class=Textbox 
  362.     TYPE=text 
  363.     VALUE="" 
  364.     NAME="Target" 
  365.     SIZE=100 READONLY>
  366.    </SPAN>
  367.    
  368.    <INPUT 
  369.     Class=Button 
  370.     Type=button 
  371.     value=">>" 
  372.     name=button5 
  373.     size=102 
  374.     onClick="SubBrowse('Target')"
  375.     onMouseOver="high(button5)"
  376.         onMouseOut="low(button5)"></BR></BR>
  377.     
  378.   <SPAN class=body ID="txt1">Cesta k souboru Service Packu</SPAN></BR>
  379.   
  380.    <INPUT 
  381.     Class=Textbox 
  382.     TYPE=text 
  383.     VALUE="" 
  384.     NAME="SP2" 
  385.     SIZE=100 READONLY>
  386.   </SPAN>
  387.     
  388.    <INPUT 
  389.     Class=Button 
  390.     Type=button 
  391.     value=">>" 
  392.     name=button4 
  393.     size=102 
  394.     onClick="BrowseForFile('SP2')"
  395.     onMouseOver="high(button4)"
  396.       onMouseOut="low(button4)"></BR></BR>
  397.       
  398.    <INPUT 
  399.     Class=Button 
  400.     Type=button 
  401.     value="Integrovat Service Pack" 
  402.     name=button1 
  403.     onClick="SubSlip"
  404.     onMouseOver="high(button1)"
  405.         onMouseOut="low(button1)">
  406.         
  407.    <INPUT 
  408.     Class=Button 
  409.     Type=button 
  410.     value="Konec" 
  411.     name=button2 
  412.     onClick="SubQuit" 
  413.     onMouseOver="high(button2)"
  414.         onMouseOut="low(button2)">
  415.     <INPUT 
  416.     class=body
  417.     Type=checkbox
  418.     name=checkiso
  419.     Title="Vytvo°enφ bootovacφho obrazu CD ve formßtu ISO v cφlovΘ slo₧ce"> Vytvo°it bootovacφ obraz ve formßtu ISO
  420.  </BODY>
  421. </HTML>
  422.